if you want the weapon to function as it should aka Having only 1 shot before reloading and making-
 no shell eject when you shoot youll need to follow the instructions bellow

-----------------------------------------------------------------------------------------------------------

Open weaponinfo.xml Located here; GTAIV\common\data

go to line 157 /or press ctrl + f and search deagle

Replace your code with mine;

<weapon type="DEAGLE">
		<data slot="HANDGUN" firetype="instant_hit" damagetype="BULLET" group="PISTOL_LARGE" targetrange="15.0" weaponrange="15.0" clipsize="1" ammomax="20" timebetweenshots="333">
			<damage base="20" networkplayermod="4.0" networkpedmod="1.0"/>
			<physics force="0.001"/>
			<reload time="3000" fasttime="2000" crouchtime="2000"/>

			<aiming accuracy="2.0">
				<offset x="0.15" y="1.0" z="0.55"/>
				<crouchedoffset x="0.2" y="1.0" z="0.05"/>
				<reticule standing="0.6" ducked="0.5" scale="0.3"/>
			</aiming>

			<pickup regentime="240000" ammoonstreet="30"/>

			<controller>
				<rumble duration="150" intensity="0.1"/>
			</controller>

			<flags>
				<flag>GUN</flag>
				<flag>CAN_AIM</flag>
				<flag>ANIM_RELOAD</flag>
				<flag>CAN_FREE_AIM</flag>
				<flag>ANIM_CROUCH_FIRE</flag>
			</flags>
		</data>

		<assets model="w_eagle">
			<anim group="gun@deagle" meleegroup1="firearm_core">
				<rates firerate="1.10" blindfirerate="1.09"/>
			</anim>
			<effects>
				<muzzle fx="muz_pistol_large" />
			</effects>
		</assets>
	</weapon>